<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Listado socios o padrinos dados de baja</title>
        <link href="recursos/general.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript">
            function crearComplete(xhr, status, args){
                if(args.altaOK){
                    msgApadrinamiento.hide();
                    msgPadrino.hide();
                    altaOK.show();
                }else if(args.noAlta){
                    noAlta.show();
                }else if(args.altaPadrino){
                    msgPadrino.show();
                }else if(args.apadrinamientoPersonal){
                    msgApadrinamiento.show();
                }else if(args.errorap){
                    msgERR1.show();
                }
            }
        </script>
    </h:head>
    <h:body>
        <h:form id="form">
            <!--Declaro la variable que pasaré a los bean para reutilizar las pantallas-->
            <f:metadata>
                <f:viewParam name="nuevo" value="#{sesionBean.strVariable}"/>
            </f:metadata>
            <f:phaseListener binding="#{sesionBean.phaseListenerImpl}"
                             type="ongd.web.PhaseListenerImpl"/>
            
             <!--Nos mostrará el título de la página -->
             <h:outputText value="#{listado_BajaPersona.titulo}" styleClass="textoTitulo"/>

            <!-- Tabla que contiene todos los socios o padrinos que están dados de alta en la base de datos, con tres opciones
            que permiten consultarles, modificarles y eliminarles o darles de baja-->
            <p:dataTable id="panel" value="#{listado_BajaPersona.vctPersonas}" var="persona" paginator="true"  rows="30" 
                         paginatorPosition="bottom" emptyMessage="No existen registros dados de baja" style="margin-top: 10px;">
                <p:column filterBy="#{persona.dni}" filterMatchMode="contains" style="width: 10%;">  
                    <f:facet name="header">
                        <h:outputText value="DNI"/>
                    </f:facet>
                    <h:outputText value="#{persona.dni}"/>
                </p:column>  
                <p:column filterBy="#{persona.nombre}" style="width: 15%;" > 
                    <f:facet name="header">
                        <h:outputText value="Nombre"/>
                    </f:facet>
                    <h:outputText value="#{persona.nombre}"/>
                </p:column> 
                <p:column style="width: 25%;">  
                    <f:facet name="header">
                        <h:outputText value="Apellidos"/>
                    </f:facet>
                    <h:outputText value="#{persona.apellidos}"/>
                </p:column> 
                <p:column style="width: 15%;">  
                    <f:facet name="header">
                        <h:outputText value="Cantidad"/>
                    </f:facet>
                    <h:outputText value="#{persona.cantidad}">
                        <f:convertNumber pattern="0.00"/>
                    </h:outputText>
                </p:column>
                <p:column style="width: 15%;">
                    <f:facet name="header">
                        <h:outputText value="Fecha de Baja"/>
                    </f:facet>
                    <h:outputText value="#{persona.fechaBaja}">
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                    </h:outputText>
                </p:column>
                <p:column style="width: 15%;">
                    <p:commandButton update="form:panel" image="ui-icon ui-icon-circle-check" value="Dar de Alta" action="#{listado_BajaPersona.darAlta}"
                                     title="Dar de alta" oncomplete="crearComplete(xhr, status, args);">  
                        <f:setPropertyActionListener value="#{persona}" target="#{listado_BajaPersona.persona}" />  
                    </p:commandButton> 
                </p:column>
            </p:dataTable>
            
            <p:commandButton value="Exportar" styleClass="botonGrande" style="margin-top: 10px;" onclick="exportarDialog.show();"/>
            <p:dialog widgetVar="exportarDialog" header="Exportar datos" styleClass="dialogoNormal" modal="true" resizable="false" width="180">
            <!--Panel que permite exportar el contenido de la tabla a pdf o xls -->
            <h:panelGrid columns="2">
                <h:commandLink  onclick="exportarDialog.hide();">
                    <p:graphicImage value="/imagenes/pdf.jpg" height="80px" width="60px"/>  
                    <p:dataExporter type="pdf" target="panel" fileName="Bajas_Persona" excludeColumns="5"/>
                </h:commandLink>
               <h:commandLink>
                    <p:graphicImage value="/imagenes/xls.jpg" height="90px" width="90px"/>
                    <p:dataExporter type="xls" target="panel" fileName="Bajas_Persona" excludeColumns="5"/>
               </h:commandLink>
            </h:panelGrid>
            </p:dialog>
            
            <!--Dialogo que nos indica que la alta se ha realizado correctamente -->
            <p:confirmDialog message="El alta se ha realizado correctamente." severity="info" widgetVar="altaOK" modal="true" styleClass="dialogoGrande"/>

            <!--Dialogo que nos que la alta no se ha realizado correctamente -->
            <p:confirmDialog message="El alta no se ha realizado correctamente." severity="info" widgetVar="noAlta" modal="true" styleClass="dialogoGrande"/>
            
            <!--Dialogo que permite seleccionar un proyecto para relacionarle con un padrino -->
            <p:dialog header="Seleccionar proyecto" widgetVar="msgPadrino" width="400" height="150" closable="false" modal="true" 
                      resizable="false" styleClass="dialogoNormal">
                <h:outputText value="Elija el proyecto en el que participará el padrino" />
                <h:panelGrid columns="2" cellpadding="3">
                    <h:outputText value="Proyecto:" styleClass="texto"/>  
                    <h:selectOneMenu value="#{listado_BajaPersona.proyectoNombre}">  
                        <f:selectItems value="#{listado_BajaPersona.availableP}" />                      
                    </h:selectOneMenu>
                    <p:commandButton value="Aceptar" action="#{listado_BajaPersona.asignarProyecto}" oncomplete="crearComplete(xhr, status, args)" 
                                     update="apadrinadotable" style="margin-left: 20px;" styleClass="botonNormal"/>
                </h:panelGrid>
            </p:dialog>
            
             <!--Dialogo que permite, en caso de seleccionar un proyecto de apadrinamiento personal, seleccionar un apadrinado -->
             <p:dialog widgetVar="msgApadrinamiento" width="500" height="300" resizable="false" closable="false" modal="true" styleClass="dialogoNormal">
                 <p:dataTable id="apadrinadotable" var="apadrinado" value="#{listado_BajaPersona.listaA}" rows="3" paginator="true" paginatorPosition="bottom" 
                             selection="#{listado_BajaPersona.apadrinado}">
                    <p:column selectionMode="single"/>
                    <p:column headerText="Nombre">
                        #{apadrinado.nombre}
                    </p:column>
                    <p:column headerText="Apellidos">
                        #{apadrinado.apellidos}
                    </p:column>
                    <p:column headerText="Apellidos">
                        #{apadrinado.fechaNacimiento}
                    </p:column>                    
                </p:dataTable>
                <p:commandButton value="Aceptar" action="#{listado_BajaPersona.darAltaPadrino}" oncomplete="crearComplete(xhr, status, args)" 
                                 update="panel" style="margin-bottom: 5px; margin-top: 5px;" styleClass="botonNormal"/>
                <p:commandButton value="Cancelar" oncomplete="msgApadrinamiento.hide();" styleClass="botonNormal"/>
            </p:dialog>
             
             <!--Dialogo de confirmación que nos indica que hay que seleccionar un apadrinado -->
            <p:confirmDialog message="Debe seleccionar un apadrinado." severity="info" widgetVar="msgERR1" modal="true" styleClass="dialogoGrande"/>
        </h:form>
    </h:body>
</html>

